FallDown 3.1

Authors: Ian Graf (original 83+ ion port) ian_graf@geocities.com
	 Florent Dhordain (original) flo.dh@usa.net
	 Ahmed El-Helw (original) ahmedre@bellsouth.net
	 Matt Smith (everything past 2.0) dude9687@pacbell.net
	 Joey Gannon (porting back to 83) Ocean1067@aol.com

Date: 3/16/02
====================

Smoother. Better. Bigger. FASTER!

(BTW, I found a glitch in the source code of the 83+ version that I'm porting off of. For some reason the ball would get stuck on the text in the title screen unless you held down the right arrow. I was able to fix it, and it shouldn't happen again. -- J.G.)

FallDown 3.1.

Intro
-=-=-
Behold. You thought I was ending this.
You could not be any more wrong. When I submitted FD3.01, I was in the
process of selling my 83+SE, but nobody would buy it. Since that's the
case, you can expect a flurry of new, improved FD releases. I'm hoping
to get up to V4.0 eventually, but maybe later.

Hey, like I said before...
~_~Feel free to use any of my routines in your programs!!!~_~

This only includes the contrast routine and the block routine -
everything else was either taken from someone else (the menu is Badja's, tweaked [a lot]), or part of the original program.

From the original game (v1.5?):

"I. DESCRIPTION:

     You are a ball that is falling through a maze. You must keep
falling as much as possible, not letting the top of the screen hit the
top of you. You can not win this game, it is an endless game in a
sense."

It WAS NOT an endless game; if you use MirageOS's on+graph speed cheat,
you can go slow enough to find the point where the floors came too
close together to get through. THAT was the end of the game.
I have fixed this bug - now it goes to the point just before they're
too close together, and stays there, so you can play as long as you
want!

Guess what? I decided to add 4 seperate high scores, one for each speed
up to 4, and 5 is the same score as 4 because, duh, it's still slow!

Then, I noticed how slooow the ball moves on speeds 3-5. So I fixed it by making it move in increments of 4 on speeds 3-5, and the original 2
on speeds 1&2. Much smoother.

I also fixed that annoying display problem on the menu - the speed #
was not included in the highlighting when it was selected. Simple
fix...

Play for a bit. Get far. See what it says at the end.
One says "You Suck!!!"
One says "Good!"
You figure the rest out...

Controls:
-=-=-=-=-
2nd/Enter = Select item
**L/R**   = Change speed (Goes up to 5)
Clear     = Exit
Up/Down   = Change menu item
Left/right= Move ball (duh), change speed in menu

Technical Info (for programmers)
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Contrast changes are done by saving the current contrast, using that as
the 'B' register in a djnz loop and the 'A' register, then looping a
'or it, set it, and or it again' loop. It 'or''s it twice because the
first 'or' makes it lcd-driver-readable, and the second makes it normal
again. After fading out, it does all the screen-redrawing, then fades in again, using almost the same method as fading out.

The 64516 blocks are simply random 1-255 numbers. Since a 8-bit number
is... 8 bits... it takes up the entire length of a normal block. The value '1' is '%00000001', and 255 is '%11111111'. Having a value of '0' for a block seems to cause the ball to "fall into" the floor and get stuck, as if you just got stuck in a hole and can't get out. That's why I made the IonRandom routine make a number up to 254 and simply 'inc' it after. Of course, I also made the top and bottom '255' to make it playable.
Four blocks ~was~ annoying :-)

The floor spacing is very interesting. I made it use a "timer" that is
'inc'd every time the screen is scrolled up. After it gets to $90, it
decreases the spacing by increasing the number that is subtracted from
the main pixel-space count. 8-&

DO NOT REMOVE THE "ei" BEFORE THE DELAY 'halt' ROUTINE! That's
something I learned when I released v3.0...

Bugs:
-=-=-

Zip! I ported it to the 82 for a friend, and got hundreds of ideas from
that. I'll be releasing that soon.

Wish list:
-=-=-=-=-=
**DONE** "Fading" ending by using contrast changes; is that possible?
**I wish** Grayscale tiles/ball?
**Almost** Scrolling background
**DONE** "random patterns" for blocks?
**Thought up and done** "Custom" game endings

Version history:
----------------
3.1 (3-14-02):
- "Custom" messages (iDum technology [tm] :-) )
- Different ball speeds
- SMOOTHER!

3.01 (final?) (3-4-02):
Hmmm... I wonder...

3.0 (Final):
Whew... made fading routine, random blocks, and an
    interesting start-game routine... A bit smaller, or maybe larger, 
    but still a LOT smaller than 2.1!

2.2:
Smaller... I removed the title screen completely and made it up of a
    whole bunch of game sprites in a sort-of "screen shot"...
Title is now "FallD*wn", with the ball as the "o". :-)

AARGH! I submitted this to ticalc.org, but it never went through! 
    You poor guys are still seeing that ugly 2.1! Jeez!

2.1:
New titlescreen and new writing method (now only has pic in
    data format, author string is a string)
Smaller than 2.0 (by a lot!)

2.0 (unreleased):
Added new blocks, ZCP-compressed title screen
Changed ball
Added "textured" blocks



This readme was written by Matt Smith, with clips from original readme.

If you are the -ORIGINAL- author and want to contact me, please do so!
   I'd love to hear from the original authors! dude9687@pacbell.net

































Quit scrolling!!!! There aint nothin left! Jeez!
